package com.xyx.www;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Test0803 {
	public static void main(String[] args) {
		// test01();
		// test02();
		//test03();
		//test04();
	}

	public static void test01() {
		// 创建一个文件对象
		File file0 = new File("D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi\\Person.java");
		System.out.println("获取一个绝对路径" + file0.getAbsolutePath());
		System.out.println("获取文件的名字" + file0.getName());
		System.out.println("isDirectory:" + file0.isDirectory());
		// 是否存在抽象路径或文件
		System.out.println(file0.exists());
		try {
			file0.createNewFile();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 创建该对象文件的目录
		file0.mkdirs();
		file0 = new File("D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi");
		//判断是否是目录
		if (file0.isDirectory()) {
			File[] subline = file0.listFiles();
			if (subline != null && subline.length > 0) {
				for (File file : subline) {
					System.out.println(file.getAbsolutePath());
				}
			}

		} else {
			System.out.println(file0.getName() + " 不是目录，而是一个文件");
		}

	}

	public static void test02() {
		InputStream in=null;
		try {
			// 创建一个文件输入流对象
			 in = new FileInputStream("D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi\\Person.java");
			// 创建用于接收文件的byte数组对象
			byte[] by = new byte[1024];
			// 获取数组长度len
			int len = in.read(by);
			// System.out.println(len);
			while(len>0) {
				// 字节数组接收的输入流，转换成字符串
				 //String str = new String(by);
				String str = new String(by, 0, len);
				System.out.println(str);
				len = in.read(by);
				System.out.print(len);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				in.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public static void test03() {
		try {
			// 文件输出流默认是覆盖写，如果需要在文件内容末尾接着写，则需要制定第二个参数
			// 构造方法的第二个参数：默认false--覆盖写；true--接着写；
			OutputStream ou = new FileOutputStream(
					"D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi\\Person2.java");
			// 将要输出到文件写入到字符串
			String str1 = "qwerasdfzxcvlllll";
			// 将要输出字符串转换为字节数组
			byte[] by1 = str1.getBytes();
			// 将字节数组写入文件ou中
			ou.write(by1);
			// 清空
			ou.flush();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();

		}
	}

	public static void test04() {
		
		try {
			// 创建一个输入文件对象
			InputStream in = new FileInputStream("D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi\\Person.java");
			
			//创建一个文件输出流对象
			OutputStream ou = new FileOutputStream("D:\\JAVA\\LanqiaoWp\\test\\src\\com\\yuw\\oop\\lianxi\\Person2.java");
			byte[] by = new byte[1024];
			// 获取字节数组长度len
			int len = in.read(by);
			ou.write(by, 0, len);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
